﻿// //  ********************************************************************************
// //  Copyright (C) 2016 Sebastian Kenter. All rights reserved.
// // 
// //  Name    : PhotonServerProject | PhotonServerFramework | IPeerData.cs
// //  Created : 2016 - 03 - 21 09:57
// //  Modified: 2016 - 04 - 18 09:38
// //  ********************************************************************************

using System;
using System.Net;

namespace PhotonServerFramework.Interfaces.Configuration
{
    /// <summary>
    ///     ToDo: Do we need this? There is no additional data that could not be stored in the db!
    /// </summary>
    public interface IPeerData
    {
        /// <summary>
        ///     The unique peer id
        /// </summary>
        Guid PeerId { get; set; }

        /// <summary>
        ///     The local endpoint of the peer
        /// </summary>
        IPEndPoint LocalEndPoint { get; set; }

        /// <summary>
        ///     The remote endpoint of the peer
        /// </summary>
        IPEndPoint RemoteEndPoint { get; set; }

        /// <summary>
        ///     The connection id that peer is reqistered at
        /// </summary>
        int ConnectionId { get; set; }

        /// <summary>
        ///     The application id (name of the photon instance)
        /// </summary>
        string ApplicationId { get; set; }

        /// <summary>
        ///     The version of the client sdk
        /// </summary>
        string ClientVersion { get; set; }

        /// <summary>
        ///     The photon protocol used for the connection
        /// </summary>
        string PhotonProtocol { get; set; }

        /// <summary>
        ///     The network protocol used for the connection
        /// </summary>
        string NetworkProtocol { get; set; }

        /// <summary>
        ///     The photon type of the photon peer
        /// </summary>
        string PeerType { get; set; }
    }
}
